package main;

import main.objects.*;

import javax.swing.table.AbstractTableModel;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.ArrayList;
import java.util.Locale;

/**
 * Created by s_shmakov on 25.07.14.
 */
public class SmrTableModel extends AbstractTableModel {

    private ArrayList<SmetNode> smetList;
    private String[] columnNames = {"№", "Сметная строка", "Код расценки", "Ед. изм", "Объем", "Т-ты", "М-мы", "ПЗ", "id АСУ КС"};

    public SmrTableModel(ArrayList<SmetNode> smetList) {
        this.smetList = smetList;
    }

    @Override
    public int getRowCount() {
        return smetList.size();
    }

    @Override
    public int getColumnCount() {
        return 9;
    }

    @Override
    public Object getValueAt(int row, int col) {
        if (row < smetList.size()) {
            SmetNode node = smetList.get(row);

            DecimalFormat df = new DecimalFormat();
            DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(Locale.getDefault());
            otherSymbols.setDecimalSeparator('.');
            otherSymbols.setGroupingSeparator(' ');

            df.setMaximumFractionDigits(6);
            df.setMinimumFractionDigits(0);
            df.setGroupingUsed(false);
            df.setDecimalFormatSymbols(otherSymbols);

//            switch (col) {
//                case 0:
//                    return node.getSmrNum();
//                case 1:
//                    return node.getName();
//                case 2:
//                    return node.getCode();
//                case 3:
//                    return node.getUnit();
//                case 4:
//                    return df.format(node.getVolume());
//                case 5:
//                    return df.format(node.getT());
//                case 6:
//                    return df.format(node.getMech());
//                case 7:
//                    return df.format(node.getMr());
//                case 8:
//                    return node.getNauka_id();
//                default:
//                    return "---";
//            }
        }
        return "---";
    }

    @Override
    public String getColumnName(int col) {
        return columnNames[col];
    }
}
